?? - оператор null-об'єднання (Nullish Сoalescing).
лівийОперанд ?? правиОперанд
?? оператор null-об'єднання який повертає свій правий операнд, якщо його лівий операнд дорівнює null або undefined, інакше, він повертає свій лівий операнд.
Не можна об'єднювати з && || безпосередньо з ?? тому що виникне помилка SyntaxError.
null || undefined ?? "text"; // помилка SyntaxError
Таке об'єднання можливе лише з душками:
(null || undefined) ?? "text"; // "text"
var b=null;
var s = b ?? 'text default';
console.log( s );
var user={
name: null
};
var s= user.name ?? 'користувач';
alert(s);
function hello(name){
let user = name?? 'анонім';
alert( 'Привіт '+user+' !');
}
hello();